'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.05
 * lastUpdateDate：2018.02.05
 * description：Set的基本用法
 */
/**
 * Set其实就是一种类数组的数据结构
 * Set通过new Set()创建一个对象，其本身也实现了Iterator接口
 * 所以也可以通过for..of进行循环遍历
 * Set的key和value是一样的
 * Set和Arr唯一的区别是：
 * 1.Set的值是唯一的，是不允许重复的
 * 2.Arr的值不是唯一的，是允许重复的
 * 3.Set会自动去除重复的值
 * 4.Arr不会自动去除重复的值
 */
/**
 * Set本身也实现了Iterator接口，也可以通过for..of循环遍历
 */
let arr = [111, 222, 333, '小小游', '小小游'];
let set = new Set(arr);
// Set会自动去重得到四个值 Set { 111, 222, 333, '小小游' }
// 把Set一个类似数组的玩意转成真正的数组
// let newArr = Array.from(set);
// newArr.forEach((item) => console.log(item));
// console.log(newArr);

// true
console.log(Set.prototype[Symbol.iterator] === Set.prototype.values);

// 通常的遍历方式都是通过for..of，values的遍历方式就行了，简单明了
for ( let v of set ) console.log(v);
